/* 
  伪代码
*/
function require(file) {
  // 1.将相对路径转为绝对路径，定位目标文件
  let absolutePath = path.resolve(__dirname, file);
  // 2.缓存检测
  if (cache[absolutePath]) {
    return cache[absolutePath];
  }
  // 3.读取文件里面的代码
  let code = fs.readFileSync(absolutePath).toString();
  // 4.包裹为一个函数并执行
  (function (exports, require, module, __filename, __dirname) {
    const test = {
      name: "王大头",
    };

    module.exports = test;

    // 输出
    console.log(arguments.callee.toString());
  })();
  //  5.缓存结果
  caches[absolutePath] = module.exports;
  // 6.返回 module.exports 的值
  return module.exports;

}

const m = require("./me.js");
